In HTML and XHTML , an image map is a list of coordinates relating to a specific image, created in order to hyperlink areas of the image to various destinations (as opposed to a normal image link, in which the entire area of the image links to a single destination). For example, a map of the world may have each country hyperlinked to further information about that country. The intention of an image map is to provide an easy way of linking various parts of an image without dividing the image into separate image files.
Contents |
Kevin Hughes invented the image map while he was a student at Honolulu Community College (HCC).[1]
In HTML an imagemap is made of the actual image, that is embedded with the <img>-Tag. The image gets simultaneously the attribute usemap.
The imagemap comprise <map>-Tag and in the detail of the <area>-tags, which defines the fields with the weblinks. These are similar to the <a>-Tag defining which URL should be opened.
Following code defines a rectangular area (9,372,66,397) with a link to the English Wikipedia:
<img src="image.png" alt="alternative text" usemap="#mapname" /> <map name="mapname"> <area shape="rect" coords="9,372,66,397" href="http://en.wikipedia.org/" /> </map>
It is possible to create image maps by hand using a text editor, but doing so requires web designers to know how to code HTML as well as how to enumerate the coordinates of the areas they wish to place over the image. As a result, most image maps coded by hand are simple polygons.
Because creating image maps in a text editor requires much time and effort, many applications have been designed to allow web designers to create image maps quickly and easily, much as they would create shapes in a vector graphics editor. Examples of these applications are Adobe's Dreamweaver or KImageMapEditor (for KDE), and the imagemap plugin found in GIMP.
Image maps which do not make their clickable areas obvious risk subjecting the user to mystery meat navigation. Even when they do, where they lead may not be obvious. This can be partially remedied with rollover effects.[2]
When designing an image map it is important to indicate to the user that the image is mapped. This may be done by a text instruction accompanying the image (like the one illustrating this page), by an indication within the image itself, or by a rollover effect which will alert the user that different sections of the image will respond differently to their interaction. When using an editor capable of layering images such as Photoshop or GIMP, sections of the image may be cut and pasted in place over a copy of the image which has reduced brightness. These highlighted areas will stand out to the user.
Client-side image maps can be implemented so that the user is given a visual indication of what can be clicked on. This can be an indication of the position of all the hot spots, or can be a rollover indication of the currently active hot spot. This functionality cannot be implemented using pure HTML, but can be implemented when a clickable image is built using a programming environment such as XHTML with Cascading Style Sheets, ECMAScript and Java.
Rollover effects can be implemented by writing ECMAScript code to swap out the entire image with one that has that particular area highlighted, but this technique can use a considerable amount of bandwidth. Another solution is to script one or more page elements to respond as the mouse moves over the image.